home *** CD-ROM | disk | FTP | other *** search
/ Mac-Source 1994 July / Mac-Source_July_1994.iso / C and C++ / Text⁄Files / File List 14 / Stack.c < prev    next >
Text File  |  1990-09-14  |  432b  |  29 lines

  1. /*
  2.     FileList 1.4
  3.     "Stack.c"
  4. */
  5.  
  6. #include "Stack.h"
  7.  
  8. void InitStack (register STACK *s)
  9. {
  10.     s->pointer = s->max = (STACKELEMENT *)&(s->stack) + STACKSIZE;
  11. }
  12.  
  13. short PushStack (
  14.     register STACK *s,
  15.     STACKELEMENT x)
  16. {
  17.     if (s->pointer <= (STACKELEMENT *)&(s->stack))
  18.         return 0;
  19.     *(--(s->pointer)) = x;
  20.     return 1;
  21. }
  22.  
  23. STACKELEMENT PopStack (register STACK *s)
  24. {
  25.     if (s->pointer >= s->max)
  26.         return STACKERROR;
  27.     return *((s->pointer)++);
  28. }
  29.